package com.tedu.Day02.oop.test;

/**匿名内部类：需要了解抽象类与接口定义与使用--拓展：表达式【JavaAPI】
 * 定义：抽象类/接口  引用=new  抽象类/接口（）{}；
 * 特点：对象只需要创建一次时候
 *
 */
public class 匿名内部类 {
    public static void main(String[] args) {
        //创建接口    实现类 实现  继承 USB接口 ----多态性（造型）
//        USB usb=new Jack();
//        usb.read();usb.write();
        //针对：子实现类有多个都需要实现
        //针对：实现一次，创建一次接口对象--匿名内部类创建：接口、抽象类
        USB usb=new USB(){
            public void write() {
                System.out.println("写");
            }
            public void read() {
                System.out.println("读");
            }
        };
        usb.read();usb.write();
        //作业2：抽象类使用匿名内部类方法创建出来，并且输出跑，睡方法
       Animal a=new Animal() {
           public void run() {
               System.out.println("跑");
           }
           public void sleep() {
               System.out.println("睡");
           }
       };
       a.run();a.sleep();
    }
}
    //创建接口  USB  功能：读  写
    interface USB{
        public abstract void write();
        public abstract void read();
    }
    //以往创建接口对象：先创建实现类
class Jack implements USB{
        public void write() {
            System.out.println("写");
        }
        public void read() {
            System.out.println("读");
        }
    }
    //创建抽象类  Animal 功能：跑 睡
    abstract class Animal{
        public abstract void run();
        public abstract void sleep();
    }


